package main

import (
	"fmt"
	"strconv"
	"strings"
)

func main() {

	var str1 = `This is a raw string 1 \n`
	var str2 = "This is a raw String 2 \n"
	fmt.Println("原生字符串和引用字符串的区别")
	fmt.Println(str1, str2)

	var str3 = str1 + str2
	fmt.Println(str3)

	var str4 = "This is an example of a string"
	fmt.Println("HasPrefix 函数的用法")
	fmt.Printf("string: \"%s\" 是否含有: %s? ", str4, "Th") //前缀
	fmt.Printf("\n%t\n", strings.HasPrefix(str4, "Th"))

	fmt.Println("Contains 函数的用法")
	fmt.Println(strings.Contains(str4, "an "))
	fmt.Println(strings.Contains(str4, "exq"))

	fmt.Println("Count 函数的用法")
	fmt.Println("")

	fmt.Println("Count 函数的用法")
	fmt.Println(strings.Count("cheese", "e"))
	fmt.Println(strings.Count("five", ""))

	fmt.Println("Index 函数的用法")
	fmt.Println(strings.IndexRune("NLT_abc", 'b')) // 返回第一个匹配字符的位置，这里是5
	fmt.Println(strings.IndexRune("NLT_abc", 's')) // 在存在返回 -1
	fmt.Println(strings.IndexRune("我是中国人", '中'))   // 在存在返回 6

	fmt.Println("Join 函数的用法")
	var str5 = []string{"hello", "golang", "and", "you"}
	fmt.Println(strings.Join(str5, "-"))

	fmt.Println("Replace 函数的用法")
	fmt.Println(strings.Replace("hello golang", "o", "O", 2))
	fmt.Println(strings.Replace("hello golang", "o", "O", -1))

	fmt.Println("Split 函数的用法")
	fmt.Printf("%q\n", strings.Split("a,b,c", ","))
	fmt.Printf("%q\n", strings.Split(" xyz ", ""))

	fmt.Println("ToLower用法")
	fmt.Println(strings.ToLower("XUYIZHOU"))

	fmt.Println("strconv.Itoa()函数用法")
	var i int = 6
	j := strconv.Itoa(i)
	fmt.Printf("new %s", j)

}
